﻿/*
 * This file is part of RNG Reporter
 * Copyright (C) 2012 by Bill Young, Mike Suleski, and Andrew Ringer
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 */


using System.Collections.Generic;
using RNGReporter.Properties;

namespace RNGReporter.Objects
{
    internal class Pokemon
    {
        private readonly uint ability0;

        private readonly uint ability1;

        public Pokemon(
            uint index,
            uint ability0,
            uint ability1,
            uint dexNumber,
            uint genderRatio,
            uint baseHp,
            uint baseAtk,
            uint baseDef,
            uint baseSpA,
            uint baseSpD,
            uint baseSpe)
        {
            Index = index;
            this.ability1 = ability1;
            this.ability0 = ability0;
            DexNumber = dexNumber;
            GenderRatio = genderRatio;
            BaseHp = baseHp;
            BaseAtk = baseAtk;
            BaseDef = baseDef;
            BaseSpA = baseSpA;
            BaseSpD = baseSpD;
            BaseSpe = baseSpe;
        }

        public uint Index { get; set; }

        public string Ability0
        {
            get { return abilityName(ability0); }
        }

        public string Ability1
        {
            get { return abilityName(ability1); }
        }

        public uint DexNumber { get; private set; }

        public uint GenderRatio { get; private set; }

        public uint BaseHp { get; private set; }

        public uint BaseAtk { get; private set; }

        public uint BaseDef { get; private set; }

        public uint BaseSpA { get; private set; }

        public uint BaseSpD { get; private set; }

        public uint BaseSpe { get; private set; }

        public override string ToString()
        {
            return pokemonName(Index);
        }

        //  We need a ctor to create an entire pokemon based
        //  on what what is passed in.  We will have a routine
        //  that creates all of these and puts them into a 
        //  nice collection for later lookup.

        public static List<Pokemon> PokemonCollection()
        {
            var pokemonCollection = new List<Pokemon>
                {
                    new Pokemon(0, 86, 86, 1, 31, 45, 49, 49, 65, 65, 45),
                    new Pokemon(1, 86, 86, 2, 31, 60, 62, 63, 80, 80, 60),
                    new Pokemon(2, 86, 86, 3, 31, 80, 82, 83, 100, 100, 80),
                    new Pokemon(3, 10, 10, 4, 31, 39, 52, 43, 60, 50, 65),
                    new Pokemon(4, 10, 10, 5, 31, 58, 64, 58, 80, 65, 80),
                    new Pokemon(5, 10, 10, 6, 31, 78, 84, 78, 109, 85, 100),
                    new Pokemon(6, 146, 146, 7, 31, 44, 48, 65, 50, 64, 43),
                    new Pokemon(7, 146, 146, 8, 31, 59, 63, 80, 65, 80, 58),
                    new Pokemon(8, 146, 146, 9, 31, 79, 83, 100, 85, 105, 78),
                    new Pokemon(9, 117, 117, 10, 127, 45, 30, 35, 20, 20, 45),
                    new Pokemon(10, 114, 114, 11, 127, 50, 20, 55, 25, 25, 30),
                    new Pokemon(11, 15, 15, 12, 127, 60, 45, 50, 80, 80, 70),
                    new Pokemon(12, 117, 117, 13, 127, 40, 35, 30, 20, 20, 50),
                    new Pokemon(13, 114, 114, 14, 127, 45, 25, 50, 25, 25, 35),
                    new Pokemon(14, 137, 137, 15, 127, 65, 80, 40, 45, 80, 75),
                    new Pokemon(15, 60, 140, 16, 127, 40, 45, 40, 35, 35, 56),
                    new Pokemon(16, 60, 140, 17, 127, 63, 60, 55, 50, 50, 71),
                    new Pokemon(17, 60, 140, 18, 127, 83, 80, 75, 70, 70, 91),
                    new Pokemon(18, 105, 38, 19, 127, 30, 56, 35, 25, 35, 72),
                    new Pokemon(19, 105, 38, 20, 127, 55, 81, 60, 50, 70, 97),
                    new Pokemon(20, 60, 60, 21, 127, 40, 60, 30, 31, 31, 70),
                    new Pokemon(21, 60, 60, 22, 127, 65, 90, 65, 61, 61, 100),
                    new Pokemon(22, 56, 114, 23, 127, 35, 60, 44, 40, 54, 55),
                    new Pokemon(23, 56, 114, 24, 127, 60, 85, 69, 65, 79, 80),
                    new Pokemon(24, 129, 129, 25, 127, 35, 55, 30, 50, 40, 90),
                    new Pokemon(25, 129, 129, 26, 127, 60, 90, 55, 90, 80, 100),
                    new Pokemon(26, 109, 109, 27, 127, 50, 75, 85, 20, 30, 40),
                    new Pokemon(27, 109, 109, 28, 127, 75, 100, 110, 45, 55, 65),
                    new Pokemon(28, 92, 102, 29, 254, 55, 47, 52, 40, 40, 41),
                    new Pokemon(29, 92, 102, 30, 254, 70, 62, 67, 55, 55, 56),
                    new Pokemon(30, 92, 102, 31, 254, 90, 82, 87, 75, 85, 76),
                    new Pokemon(31, 92, 102, 32, 0, 46, 57, 40, 40, 40, 50),
                    new Pokemon(32, 92, 102, 33, 0, 61, 72, 57, 55, 55, 65),
                    new Pokemon(33, 92, 102, 34, 0, 81, 92, 77, 85, 75, 85),
                    new Pokemon(34, 18, 69, 35, 191, 70, 45, 48, 60, 65, 35),
                    new Pokemon(35, 18, 69, 36, 191, 95, 70, 73, 85, 90, 60),
                    new Pokemon(36, 31, 31, 37, 191, 38, 41, 40, 50, 65, 65),
                    new Pokemon(37, 31, 31, 38, 191, 73, 76, 75, 81, 100, 100),
                    new Pokemon(38, 18, 18, 39, 191, 115, 45, 20, 45, 25, 20),
                    new Pokemon(39, 18, 18, 40, 191, 140, 70, 45, 75, 50, 45),
                    new Pokemon(40, 54, 54, 41, 127, 40, 45, 35, 30, 40, 55),
                    new Pokemon(41, 54, 54, 42, 127, 75, 80, 70, 65, 75, 90),
                    new Pokemon(42, 11, 11, 43, 127, 45, 50, 55, 75, 65, 30),
                    new Pokemon(43, 11, 11, 44, 127, 60, 65, 70, 85, 75, 40),
                    new Pokemon(44, 11, 11, 45, 127, 75, 80, 85, 100, 90, 50),
                    new Pokemon(45, 27, 25, 46, 127, 35, 70, 55, 45, 55, 25),
                    new Pokemon(46, 27, 25, 47, 127, 60, 95, 80, 60, 80, 30),
                    new Pokemon(47, 15, 145, 48, 127, 60, 55, 50, 40, 55, 45),
                    new Pokemon(48, 117, 145, 49, 127, 70, 65, 60, 90, 75, 90),
                    new Pokemon(49, 109, 6, 50, 127, 10, 55, 25, 35, 45, 95),
                    new Pokemon(50, 109, 6, 51, 127, 35, 80, 50, 50, 70, 120),
                    new Pokemon(51, 89, 141, 52, 127, 40, 45, 35, 40, 40, 90),
                    new Pokemon(52, 66, 141, 53, 127, 65, 70, 60, 65, 65, 115),
                    new Pokemon(53, 19, 13, 54, 127, 50, 52, 48, 65, 50, 55),
                    new Pokemon(54, 19, 13, 55, 127, 80, 82, 78, 95, 80, 85),
                    new Pokemon(55, 155, 4, 56, 127, 40, 80, 35, 35, 45, 70),
                    new Pokemon(56, 155, 4, 57, 127, 65, 105, 60, 60, 70, 95),
                    new Pokemon(57, 56, 31, 58, 63, 55, 70, 45, 70, 50, 60),
                    new Pokemon(58, 56, 31, 59, 63, 90, 110, 80, 100, 80, 95),
                    new Pokemon(59, 157, 19, 60, 127, 40, 50, 40, 40, 40, 90),
                    new Pokemon(60, 157, 19, 61, 127, 65, 65, 65, 50, 50, 90),
                    new Pokemon(61, 157, 19, 62, 127, 90, 85, 95, 70, 90, 70),
                    new Pokemon(62, 139, 54, 63, 63, 25, 20, 15, 105, 55, 90),
                    new Pokemon(63, 139, 54, 64, 63, 40, 35, 30, 120, 70, 105),
                    new Pokemon(64, 139, 54, 65, 63, 55, 50, 45, 135, 85, 120),
                    new Pokemon(65, 38, 82, 66, 63, 70, 80, 50, 35, 35, 35),
                    new Pokemon(66, 38, 82, 67, 63, 80, 100, 70, 50, 60, 45),
                    new Pokemon(67, 38, 82, 68, 63, 90, 130, 80, 65, 85, 55),
                    new Pokemon(68, 11, 11, 69, 127, 50, 75, 35, 70, 30, 40),
                    new Pokemon(69, 11, 11, 70, 127, 65, 90, 50, 85, 45, 55),
                    new Pokemon(70, 11, 11, 71, 127, 80, 105, 65, 100, 60, 70),
                    new Pokemon(71, 12, 67, 72, 127, 40, 40, 35, 50, 100, 70),
                    new Pokemon(72, 12, 67, 73, 127, 80, 70, 65, 80, 120, 100),
                    new Pokemon(73, 103, 134, 74, 127, 40, 80, 100, 30, 30, 20),
                    new Pokemon(74, 103, 134, 75, 127, 55, 95, 115, 45, 45, 35),
                    new Pokemon(75, 103, 134, 76, 127, 80, 110, 130, 55, 65, 45),
                    new Pokemon(76, 105, 31, 77, 127, 50, 85, 55, 65, 65, 90),
                    new Pokemon(77, 105, 31, 78, 127, 65, 100, 70, 80, 80, 105),
                    new Pokemon(78, 84, 87, 79, 127, 90, 65, 65, 40, 40, 15),
                    new Pokemon(79, 84, 87, 80, 127, 95, 75, 110, 100, 80, 30),
                    new Pokemon(80, 71, 134, 81, 255, 25, 35, 70, 95, 55, 45),
                    new Pokemon(81, 71, 134, 82, 255, 50, 60, 95, 120, 70, 70),
                    new Pokemon(82, 60, 54, 83, 127, 52, 65, 55, 58, 62, 60),
                    new Pokemon(83, 105, 26, 84, 127, 35, 85, 45, 35, 35, 75),
                    new Pokemon(84, 105, 26, 85, 127, 60, 110, 70, 60, 60, 100),
                    new Pokemon(85, 144, 46, 86, 127, 65, 45, 55, 45, 70, 45),
                    new Pokemon(86, 144, 46, 87, 127, 90, 70, 80, 70, 95, 70),
                    new Pokemon(87, 131, 132, 88, 127, 80, 80, 50, 40, 50, 25),
                    new Pokemon(88, 131, 132, 89, 127, 105, 105, 75, 65, 100, 50),
                    new Pokemon(89, 116, 119, 90, 127, 30, 65, 100, 45, 25, 40),
                    new Pokemon(90, 116, 119, 91, 127, 50, 95, 180, 85, 45, 70),
                    new Pokemon(91, 63, 63, 92, 127, 30, 35, 30, 100, 35, 80),
                    new Pokemon(92, 63, 63, 93, 127, 45, 50, 45, 115, 55, 95),
                    new Pokemon(93, 63, 63, 94, 127, 60, 65, 60, 130, 75, 110),
                    new Pokemon(94, 103, 134, 95, 127, 35, 45, 160, 30, 45, 70),
                    new Pokemon(95, 55, 34, 96, 127, 60, 48, 45, 43, 90, 42),
                    new Pokemon(96, 55, 34, 97, 127, 85, 73, 70, 73, 115, 67),
                    new Pokemon(97, 47, 116, 98, 127, 30, 105, 90, 25, 25, 50),
                    new Pokemon(98, 47, 116, 99, 127, 55, 130, 115, 50, 50, 75),
                    new Pokemon(99, 126, 129, 100, 255, 40, 30, 50, 55, 55, 100),
                    new Pokemon(100, 126, 129, 101, 255, 60, 50, 70, 80, 80, 140),
                    new Pokemon(101, 11, 11, 102, 127, 60, 40, 80, 60, 45, 40),
                    new Pokemon(102, 11, 11, 103, 127, 95, 95, 85, 125, 65, 55),
                    new Pokemon(103, 103, 65, 104, 127, 50, 50, 95, 40, 50, 35),
                    new Pokemon(104, 103, 65, 105, 127, 60, 80, 110, 50, 80, 45),
                    new Pokemon(105, 66, 100, 106, 0, 50, 120, 53, 35, 110, 87),
                    new Pokemon(106, 60, 58, 107, 0, 50, 105, 79, 35, 110, 76),
                    new Pokemon(107, 87, 84, 108, 127, 90, 55, 75, 60, 75, 30),
                    new Pokemon(108, 63, 63, 109, 127, 40, 65, 95, 60, 45, 35),
                    new Pokemon(109, 63, 63, 110, 127, 65, 90, 120, 85, 70, 60),
                    new Pokemon(110, 65, 103, 111, 127, 80, 85, 95, 30, 30, 25),
                    new Pokemon(111, 65, 103, 112, 127, 105, 130, 120, 45, 45, 40),
                    new Pokemon(112, 81, 112, 113, 254, 250, 5, 5, 35, 105, 50),
                    new Pokemon(113, 11, 62, 114, 127, 65, 55, 115, 100, 40, 60),
                    new Pokemon(114, 26, 111, 115, 254, 105, 95, 80, 40, 80, 90),
                    new Pokemon(115, 138, 121, 116, 127, 30, 40, 70, 70, 25, 60),
                    new Pokemon(116, 92, 121, 117, 127, 55, 65, 95, 95, 45, 85),
                    new Pokemon(117, 138, 158, 118, 127, 45, 67, 60, 35, 50, 63),
                    new Pokemon(118, 138, 158, 119, 127, 80, 92, 65, 65, 80, 68),
                    new Pokemon(119, 49, 81, 120, 255, 30, 45, 55, 70, 55, 85),
                    new Pokemon(120, 49, 81, 121, 255, 60, 75, 85, 100, 85, 115),
                    new Pokemon(121, 126, 28, 122, 127, 40, 45, 65, 100, 120, 90),
                    new Pokemon(122, 137, 141, 123, 127, 70, 110, 80, 55, 80, 105),
                    new Pokemon(123, 84, 34, 124, 254, 65, 50, 35, 115, 95, 95),
                    new Pokemon(124, 129, 129, 125, 63, 65, 83, 57, 95, 85, 105),
                    new Pokemon(125, 29, 29, 126, 63, 65, 95, 57, 100, 85, 93),
                    new Pokemon(126, 47, 74, 127, 127, 65, 125, 100, 55, 70, 85),
                    new Pokemon(127, 56, 4, 128, 0, 75, 100, 95, 40, 70, 110),
                    new Pokemon(128, 138, 138, 129, 127, 20, 10, 55, 15, 20, 80),
                    new Pokemon(129, 56, 56, 130, 127, 95, 125, 79, 60, 100, 81),
                    new Pokemon(130, 157, 116, 131, 127, 130, 85, 80, 85, 95, 60),
                    new Pokemon(131, 66, 66, 132, 255, 48, 48, 48, 48, 48, 48),
                    new Pokemon(132, 105, 0, 133, 31, 55, 55, 50, 45, 65, 55),
                    new Pokemon(133, 157, 157, 134, 31, 130, 65, 60, 110, 95, 65),
                    new Pokemon(134, 156, 156, 135, 31, 65, 65, 60, 110, 95, 130),
                    new Pokemon(135, 31, 31, 136, 31, 65, 130, 60, 95, 110, 65),
                    new Pokemon(136, 148, 22, 137, 255, 65, 60, 70, 85, 75, 40),
                    new Pokemon(137, 138, 116, 138, 31, 35, 40, 100, 90, 55, 35),
                    new Pokemon(138, 138, 116, 139, 31, 70, 60, 125, 115, 70, 55),
                    new Pokemon(139, 138, 8, 140, 31, 30, 80, 90, 55, 45, 55),
                    new Pokemon(140, 138, 8, 141, 31, 60, 115, 105, 65, 70, 80),
                    new Pokemon(141, 103, 95, 142, 31, 80, 105, 65, 60, 75, 130),
                    new Pokemon(142, 51, 144, 143, 31, 160, 110, 65, 65, 110, 30),
                    new Pokemon(143, 95, 95, 144, 255, 90, 85, 100, 95, 125, 85),
                    new Pokemon(144, 95, 95, 145, 255, 90, 90, 85, 125, 90, 100),
                    new Pokemon(145, 95, 95, 146, 255, 90, 100, 90, 125, 85, 90),
                    new Pokemon(146, 114, 114, 147, 255, 41, 64, 45, 50, 50, 50),
                    new Pokemon(147, 114, 114, 148, 255, 61, 84, 65, 70, 70, 70),
                    new Pokemon(148, 54, 54, 149, 255, 91, 134, 95, 100, 100, 80),
                    new Pokemon(149, 95, 95, 150, 255, 106, 110, 90, 154, 90, 130),
                    new Pokemon(150, 139, 139, 151, 255, 100, 100, 100, 100, 100, 100),
                    new Pokemon(151, 86, 86, 152, 31, 45, 49, 65, 49, 65, 45),
                    new Pokemon(152, 86, 86, 153, 31, 60, 62, 80, 63, 80, 60),
                    new Pokemon(153, 86, 86, 154, 31, 80, 82, 100, 83, 100, 80),
                    new Pokemon(154, 10, 10, 155, 31, 39, 52, 43, 60, 50, 65),
                    new Pokemon(155, 10, 10, 156, 31, 58, 64, 58, 80, 65, 80),
                    new Pokemon(156, 10, 10, 157, 31, 78, 84, 78, 109, 85, 100),
                    new Pokemon(157, 146, 146, 158, 31, 50, 65, 64, 44, 48, 43),
                    new Pokemon(158, 146, 146, 159, 31, 65, 80, 80, 59, 63, 58),
                    new Pokemon(159, 146, 146, 160, 31, 85, 105, 100, 79, 83, 78),
                    new Pokemon(160, 105, 60, 161, 127, 35, 46, 34, 35, 45, 20),
                    new Pokemon(161, 105, 60, 162, 127, 85, 76, 64, 45, 55, 90),
                    new Pokemon(162, 55, 60, 163, 127, 60, 30, 30, 36, 56, 50),
                    new Pokemon(163, 55, 60, 164, 127, 100, 50, 50, 76, 96, 70),
                    new Pokemon(164, 137, 26, 165, 127, 40, 20, 30, 40, 80, 55),
                    new Pokemon(165, 137, 26, 166, 127, 55, 35, 50, 55, 110, 85),
                    new Pokemon(166, 137, 55, 167, 127, 40, 60, 40, 40, 40, 30),
                    new Pokemon(167, 137, 55, 168, 127, 70, 90, 70, 60, 60, 40),
                    new Pokemon(168, 54, 54, 169, 127, 85, 90, 80, 70, 80, 130),
                    new Pokemon(169, 156, 49, 170, 127, 75, 38, 38, 56, 56, 67),
                    new Pokemon(170, 156, 49, 171, 127, 125, 58, 58, 76, 76, 67),
                    new Pokemon(171, 129, 129, 172, 127, 20, 40, 15, 35, 35, 60),
                    new Pokemon(172, 18, 69, 173, 191, 50, 25, 28, 45, 55, 15),
                    new Pokemon(173, 18, 18, 174, 191, 90, 30, 15, 40, 20, 15),
                    new Pokemon(174, 45, 112, 175, 31, 35, 20, 65, 40, 65, 20),
                    new Pokemon(175, 45, 112, 176, 31, 55, 40, 85, 80, 105, 40),
                    new Pokemon(176, 139, 26, 177, 127, 40, 50, 45, 70, 45, 70),
                    new Pokemon(177, 139, 26, 178, 127, 65, 75, 70, 95, 70, 95),
                    new Pokemon(178, 129, 129, 179, 127, 55, 40, 40, 65, 45, 35),
                    new Pokemon(179, 129, 129, 180, 127, 70, 55, 55, 80, 60, 45),
                    new Pokemon(180, 129, 129, 181, 127, 90, 75, 75, 115, 90, 55),
                    new Pokemon(181, 11, 11, 182, 127, 75, 80, 85, 90, 100, 50),
                    new Pokemon(182, 144, 44, 183, 127, 70, 20, 50, 20, 50, 40),
                    new Pokemon(183, 144, 44, 184, 127, 100, 50, 80, 50, 80, 50),
                    new Pokemon(184, 134, 103, 185, 127, 70, 100, 115, 30, 65, 30),
                    new Pokemon(185, 157, 19, 186, 127, 90, 75, 75, 90, 100, 70),
                    new Pokemon(186, 11, 62, 187, 127, 35, 35, 40, 35, 55, 50),
                    new Pokemon(187, 11, 62, 188, 127, 55, 45, 50, 45, 65, 80),
                    new Pokemon(188, 11, 62, 189, 127, 75, 55, 70, 55, 85, 110),
                    new Pokemon(189, 105, 89, 190, 127, 55, 70, 55, 40, 55, 85),
                    new Pokemon(190, 11, 124, 191, 127, 30, 30, 30, 30, 30, 30),
                    new Pokemon(191, 11, 124, 192, 127, 75, 75, 55, 105, 85, 30),
                    new Pokemon(192, 127, 15, 193, 127, 65, 65, 45, 75, 45, 95),
                    new Pokemon(193, 19, 157, 194, 127, 55, 45, 45, 25, 25, 15),
                    new Pokemon(194, 19, 157, 195, 127, 95, 85, 85, 65, 65, 35),
                    new Pokemon(195, 139, 139, 196, 31, 65, 65, 60, 130, 95, 110),
                    new Pokemon(196, 139, 139, 197, 31, 95, 65, 110, 60, 130, 65),
                    new Pokemon(197, 55, 136, 198, 127, 60, 85, 42, 85, 42, 91),
                    new Pokemon(198, 84, 87, 199, 127, 95, 75, 80, 100, 110, 30),
                    new Pokemon(199, 63, 63, 200, 127, 60, 60, 60, 85, 85, 85),
                    new Pokemon(200, 63, 63, 201, 255, 48, 72, 48, 72, 48, 48),
                    new Pokemon(201, 113, 113, 202, 127, 190, 33, 58, 33, 58, 33),
                    new Pokemon(202, 54, 26, 203, 127, 70, 80, 65, 90, 65, 85),
                    new Pokemon(203, 134, 134, 204, 127, 50, 65, 90, 35, 35, 15),
                    new Pokemon(204, 134, 134, 205, 127, 75, 90, 140, 60, 60, 40),
                    new Pokemon(205, 112, 105, 206, 127, 100, 70, 70, 65, 65, 45),
                    new Pokemon(206, 47, 109, 207, 127, 65, 75, 105, 35, 65, 85),
                    new Pokemon(207, 103, 134, 208, 127, 75, 85, 200, 55, 65, 30),
                    new Pokemon(208, 56, 105, 209, 191, 60, 80, 50, 40, 40, 30),
                    new Pokemon(209, 56, 97, 210, 191, 90, 120, 75, 60, 60, 45),
                    new Pokemon(210, 92, 138, 211, 127, 65, 95, 75, 55, 55, 85),
                    new Pokemon(211, 137, 141, 212, 127, 70, 130, 100, 55, 80, 65),
                    new Pokemon(212, 134, 37, 213, 127, 20, 10, 230, 10, 230, 5),
                    new Pokemon(213, 137, 38, 214, 127, 80, 125, 75, 40, 95, 85),
                    new Pokemon(214, 54, 60, 215, 127, 55, 95, 55, 35, 75, 115),
                    new Pokemon(215, 89, 97, 216, 127, 60, 80, 50, 50, 50, 40),
                    new Pokemon(216, 38, 97, 217, 127, 90, 130, 75, 75, 75, 55),
                    new Pokemon(217, 70, 29, 218, 127, 40, 40, 40, 70, 40, 20),
                    new Pokemon(218, 70, 29, 219, 127, 50, 50, 120, 80, 80, 30),
                    new Pokemon(219, 84, 122, 220, 127, 50, 50, 40, 30, 30, 50),
                    new Pokemon(220, 84, 122, 221, 127, 100, 100, 80, 60, 60, 50),
                    new Pokemon(221, 45, 81, 222, 191, 55, 55, 85, 65, 85, 35),
                    new Pokemon(222, 45, 121, 223, 127, 35, 65, 35, 65, 35, 65),
                    new Pokemon(223, 135, 121, 224, 127, 75, 105, 75, 105, 75, 45),
                    new Pokemon(224, 155, 45, 225, 127, 45, 55, 45, 65, 45, 75),
                    new Pokemon(225, 138, 157, 226, 127, 65, 40, 70, 80, 140, 70),
                    new Pokemon(226, 60, 134, 227, 127, 65, 80, 140, 40, 70, 70),
                    new Pokemon(227, 26, 31, 228, 127, 45, 60, 30, 80, 50, 65),
                    new Pokemon(228, 26, 31, 229, 127, 75, 90, 50, 110, 80, 95),
                    new Pokemon(229, 138, 121, 230, 127, 75, 95, 95, 95, 95, 85),
                    new Pokemon(230, 89, 89, 231, 127, 90, 60, 60, 40, 40, 40),
                    new Pokemon(231, 134, 134, 232, 127, 90, 120, 120, 60, 60, 50),
                    new Pokemon(232, 148, 22, 233, 255, 85, 80, 90, 105, 95, 60),
                    new Pokemon(233, 56, 36, 234, 127, 73, 95, 62, 85, 65, 85),
                    new Pokemon(234, 87, 141, 235, 127, 55, 20, 35, 20, 45, 75),
                    new Pokemon(235, 38, 130, 236, 0, 35, 35, 35, 35, 35, 35),
                    new Pokemon(236, 56, 141, 237, 0, 50, 95, 95, 35, 110, 70),
                    new Pokemon(237, 84, 34, 238, 254, 45, 30, 15, 85, 65, 65),
                    new Pokemon(238, 129, 129, 239, 63, 45, 63, 37, 65, 55, 95),
                    new Pokemon(239, 29, 29, 240, 63, 45, 75, 37, 70, 55, 83),
                    new Pokemon(240, 144, 111, 241, 254, 95, 80, 105, 40, 70, 100),
                    new Pokemon(241, 81, 112, 242, 254, 255, 10, 10, 75, 135, 55),
                    new Pokemon(242, 95, 95, 243, 255, 90, 85, 75, 115, 100, 115),
                    new Pokemon(243, 95, 95, 244, 255, 115, 115, 85, 90, 75, 100),
                    new Pokemon(244, 95, 95, 245, 255, 100, 75, 115, 90, 115, 85),
                    new Pokemon(245, 38, 38, 246, 127, 50, 64, 50, 45, 50, 41),
                    new Pokemon(246, 114, 114, 247, 127, 70, 84, 70, 65, 70, 51),
                    new Pokemon(247, 108, 108, 248, 127, 100, 134, 110, 95, 100, 61),
                    new Pokemon(248, 95, 95, 249, 255, 106, 90, 130, 90, 154, 110),
                    new Pokemon(249, 95, 95, 250, 255, 106, 130, 90, 110, 154, 90),
                    new Pokemon(250, 81, 81, 251, 255, 100, 100, 100, 100, 100, 100),
                    new Pokemon(251, 86, 86, 252, 31, 40, 45, 35, 65, 55, 70),
                    new Pokemon(252, 86, 86, 253, 31, 50, 65, 45, 85, 65, 95),
                    new Pokemon(253, 86, 86, 254, 31, 70, 85, 65, 105, 85, 120),
                    new Pokemon(254, 10, 10, 255, 31, 45, 60, 40, 70, 50, 45),
                    new Pokemon(255, 10, 10, 256, 31, 60, 85, 60, 85, 60, 55),
                    new Pokemon(256, 10, 10, 257, 31, 80, 120, 70, 110, 70, 80),
                    new Pokemon(257, 146, 146, 258, 31, 50, 70, 50, 50, 50, 40),
                    new Pokemon(258, 146, 146, 259, 31, 70, 85, 70, 60, 70, 50),
                    new Pokemon(259, 146, 146, 260, 31, 100, 110, 90, 85, 90, 60),
                    new Pokemon(260, 105, 97, 261, 127, 35, 55, 35, 30, 30, 35),
                    new Pokemon(261, 56, 97, 262, 127, 70, 90, 70, 60, 60, 70),
                    new Pokemon(262, 89, 37, 263, 127, 38, 30, 41, 30, 41, 60),
                    new Pokemon(263, 89, 37, 264, 127, 78, 70, 61, 50, 61, 100),
                    new Pokemon(264, 117, 117, 265, 127, 45, 45, 35, 20, 30, 20),
                    new Pokemon(265, 114, 114, 266, 127, 50, 35, 55, 25, 25, 15),
                    new Pokemon(266, 137, 137, 267, 127, 60, 70, 50, 90, 50, 65),
                    new Pokemon(267, 114, 114, 268, 127, 50, 35, 55, 25, 25, 15),
                    new Pokemon(268, 117, 117, 269, 127, 60, 50, 70, 50, 90, 65),
                    new Pokemon(269, 138, 98, 270, 127, 40, 30, 30, 40, 50, 30),
                    new Pokemon(270, 138, 98, 271, 127, 60, 50, 50, 60, 70, 50),
                    new Pokemon(271, 138, 98, 272, 127, 80, 70, 70, 90, 100, 70),
                    new Pokemon(272, 11, 26, 273, 127, 40, 40, 50, 30, 30, 30),
                    new Pokemon(273, 11, 26, 274, 127, 70, 70, 40, 60, 40, 60),
                    new Pokemon(274, 11, 26, 275, 127, 90, 100, 60, 90, 60, 80),
                    new Pokemon(275, 38, 38, 276, 127, 40, 55, 30, 30, 30, 85),
                    new Pokemon(276, 38, 38, 277, 127, 60, 85, 60, 50, 50, 125),
                    new Pokemon(277, 60, 60, 278, 127, 40, 30, 30, 55, 30, 85),
                    new Pokemon(278, 60, 60, 279, 127, 60, 50, 100, 85, 70, 65),
                    new Pokemon(279, 139, 148, 280, 127, 28, 25, 25, 45, 35, 40),
                    new Pokemon(280, 139, 148, 281, 127, 38, 35, 35, 65, 55, 50),
                    new Pokemon(281, 139, 148, 282, 127, 68, 65, 65, 125, 115, 80),
                    new Pokemon(282, 138, 138, 283, 127, 40, 30, 32, 50, 52, 65),
                    new Pokemon(283, 56, 56, 284, 127, 70, 60, 62, 80, 82, 60),
                    new Pokemon(284, 27, 91, 285, 127, 60, 40, 60, 40, 60, 35),
                    new Pokemon(285, 27, 91, 286, 127, 60, 130, 80, 60, 60, 70),
                    new Pokemon(286, 149, 149, 1287, 127, 60, 60, 60, 35, 35, 30),
                    new Pokemon(287, 155, 155, 288, 127, 80, 80, 80, 55, 55, 90),
                    new Pokemon(288, 149, 149, 1289, 127, 150, 160, 100, 95, 65, 100),
                    new Pokemon(289, 15, 15, 290, 127, 31, 45, 90, 30, 30, 40),
                    new Pokemon(290, 127, 127, 291, 127, 61, 90, 45, 50, 50, 160),
                    new Pokemon(291, 161, 161, 292, 255, 1, 90, 45, 30, 30, 40),
                    new Pokemon(292, 126, 126, 293, 127, 64, 51, 23, 51, 23, 28),
                    new Pokemon(293, 126, 126, 294, 127, 84, 71, 43, 71, 43, 48),
                    new Pokemon(294, 126, 126, 295, 127, 104, 91, 63, 91, 63, 68),
                    new Pokemon(295, 144, 38, 296, 63, 72, 60, 30, 20, 30, 25),
                    new Pokemon(296, 144, 38, 297, 63, 144, 120, 60, 40, 60, 50),
                    new Pokemon(297, 144, 44, 298, 191, 50, 20, 40, 20, 40, 20),
                    new Pokemon(298, 134, 71, 299, 127, 30, 45, 135, 45, 90, 30),
                    new Pokemon(299, 18, 83, 300, 191, 50, 45, 45, 35, 35, 50),
                    new Pokemon(300, 18, 83, 301, 191, 70, 65, 65, 55, 55, 70),
                    new Pokemon(301, 60, 128, 302, 127, 50, 75, 75, 65, 65, 50),
                    new Pokemon(302, 47, 56, 303, 127, 50, 85, 85, 55, 55, 50),
                    new Pokemon(303, 134, 103, 304, 127, 50, 70, 100, 40, 40, 30),
                    new Pokemon(304, 134, 103, 305, 127, 60, 90, 140, 50, 50, 40),
                    new Pokemon(305, 134, 103, 306, 127, 70, 110, 180, 60, 60, 50),
                    new Pokemon(306, 96, 96, 307, 127, 30, 40, 55, 40, 55, 60),
                    new Pokemon(307, 96, 96, 308, 127, 60, 60, 75, 60, 75, 80),
                    new Pokemon(308, 129, 65, 309, 127, 40, 45, 40, 65, 40, 65),
                    new Pokemon(309, 129, 65, 310, 127, 70, 75, 60, 105, 60, 105),
                    new Pokemon(310, 90, 90, 311, 127, 60, 50, 40, 85, 75, 95),
                    new Pokemon(311, 73, 73, 312, 127, 60, 40, 50, 75, 85, 95),
                    new Pokemon(312, 49, 137, 313, 0, 65, 73, 55, 47, 75, 85),
                    new Pokemon(313, 84, 145, 314, 254, 65, 47, 55, 73, 75, 85),
                    new Pokemon(314, 81, 92, 315, 127, 50, 60, 45, 100, 80, 65),
                    new Pokemon(315, 67, 132, 316, 127, 70, 43, 53, 43, 53, 40),
                    new Pokemon(316, 67, 132, 317, 127, 100, 73, 83, 73, 83, 55),
                    new Pokemon(317, 104, 104, 318, 127, 45, 90, 20, 65, 20, 65),
                    new Pokemon(318, 104, 104, 319, 127, 70, 120, 40, 95, 40, 95),
                    new Pokemon(319, 158, 84, 320, 127, 130, 70, 35, 70, 35, 60),
                    new Pokemon(320, 158, 84, 321, 127, 170, 90, 45, 90, 45, 60),
                    new Pokemon(321, 84, 118, 322, 127, 60, 60, 40, 65, 45, 35),
                    new Pokemon(322, 70, 125, 323, 127, 70, 100, 70, 105, 75, 40),
                    new Pokemon(323, 160, 160, 324, 127, 70, 85, 140, 85, 70, 20),
                    new Pokemon(324, 144, 87, 325, 127, 60, 25, 35, 70, 80, 60),
                    new Pokemon(325, 144, 87, 326, 127, 80, 45, 65, 90, 110, 80),
                    new Pokemon(326, 87, 140, 327, 127, 60, 60, 60, 60, 60, 60),
                    new Pokemon(327, 47, 6, 328, 127, 45, 100, 45, 45, 45, 10),
                    new Pokemon(328, 63, 63, 329, 127, 50, 70, 50, 50, 50, 70),
                    new Pokemon(329, 63, 63, 330, 127, 80, 100, 80, 80, 80, 100),
                    new Pokemon(330, 109, 109, 331, 127, 50, 85, 40, 85, 40, 35),
                    new Pokemon(331, 109, 109, 332, 127, 70, 115, 60, 115, 60, 55),
                    new Pokemon(332, 81, 81, 333, 127, 45, 40, 60, 40, 75, 50),
                    new Pokemon(333, 81, 81, 334, 127, 75, 70, 90, 70, 105, 80),
                    new Pokemon(334, 51, 51, 335, 127, 73, 115, 60, 60, 60, 90),
                    new Pokemon(335, 114, 114, 336, 127, 73, 100, 60, 100, 60, 65),
                    new Pokemon(336, 63, 63, 337, 255, 70, 55, 65, 95, 85, 70),
                    new Pokemon(337, 63, 63, 338, 255, 70, 95, 85, 55, 65, 70),
                    new Pokemon(338, 84, 5, 339, 127, 50, 48, 43, 46, 41, 60),
                    new Pokemon(339, 84, 5, 340, 127, 110, 78, 73, 76, 71, 60),
                    new Pokemon(340, 47, 116, 341, 127, 43, 80, 65, 50, 35, 35),
                    new Pokemon(341, 47, 116, 342, 127, 63, 120, 85, 90, 55, 55),
                    new Pokemon(342, 63, 63, 343, 255, 40, 40, 55, 40, 70, 55),
                    new Pokemon(343, 63, 63, 344, 255, 60, 70, 105, 70, 120, 75),
                    new Pokemon(344, 135, 135, 345, 31, 66, 41, 77, 61, 87, 23),
                    new Pokemon(345, 135, 135, 346, 31, 86, 81, 97, 81, 107, 43),
                    new Pokemon(346, 8, 8, 347, 31, 45, 95, 50, 40, 50, 75),
                    new Pokemon(347, 8, 8, 348, 31, 75, 125, 100, 70, 80, 45),
                    new Pokemon(348, 138, 138, 349, 127, 20, 15, 20, 10, 55, 80),
                    new Pokemon(349, 72, 72, 350, 127, 95, 60, 79, 100, 125, 81),
                    new Pokemon(350, 33, 33, 351, 127, 70, 70, 70, 70, 70, 70),
                    new Pokemon(351, 14, 14, 352, 127, 60, 90, 70, 60, 120, 40),
                    new Pokemon(352, 55, 36, 353, 127, 44, 75, 35, 63, 33, 45),
                    new Pokemon(353, 55, 36, 354, 127, 64, 115, 65, 83, 63, 65),
                    new Pokemon(354, 63, 63, 355, 127, 20, 40, 90, 30, 90, 25),
                    new Pokemon(355, 95, 95, 356, 127, 40, 70, 130, 60, 130, 25),
                    new Pokemon(356, 11, 124, 357, 127, 99, 68, 83, 72, 87, 51),
                    new Pokemon(357, 63, 63, 358, 127, 65, 50, 70, 95, 80, 65),
                    new Pokemon(358, 95, 136, 359, 127, 65, 130, 60, 75, 60, 75),
                    new Pokemon(359, 113, 113, 360, 127, 95, 23, 48, 23, 48, 23),
                    new Pokemon(360, 54, 48, 361, 127, 50, 50, 50, 50, 50, 50),
                    new Pokemon(361, 54, 48, 362, 127, 80, 80, 80, 80, 80, 80),
                    new Pokemon(362, 144, 48, 363, 127, 70, 40, 50, 55, 50, 25),
                    new Pokemon(363, 144, 48, 364, 127, 90, 60, 70, 75, 70, 45),
                    new Pokemon(364, 144, 48, 365, 127, 110, 80, 90, 95, 90, 65),
                    new Pokemon(365, 116, 116, 366, 127, 35, 64, 85, 74, 55, 32),
                    new Pokemon(366, 138, 138, 367, 127, 55, 104, 105, 94, 75, 52),
                    new Pokemon(367, 138, 138, 368, 127, 55, 84, 105, 114, 75, 52),
                    new Pokemon(368, 138, 103, 369, 31, 100, 90, 130, 45, 65, 55),
                    new Pokemon(369, 138, 138, 370, 191, 43, 30, 55, 40, 65, 97),
                    new Pokemon(370, 103, 103, 371, 127, 45, 75, 60, 40, 30, 50),
                    new Pokemon(371, 103, 103, 372, 127, 65, 95, 100, 60, 50, 50),
                    new Pokemon(372, 56, 56, 373, 127, 95, 135, 80, 110, 80, 100),
                    new Pokemon(373, 12, 12, 374, 255, 40, 55, 80, 35, 60, 30),
                    new Pokemon(374, 12, 12, 375, 255, 60, 75, 100, 55, 80, 50),
                    new Pokemon(375, 12, 12, 376, 255, 80, 135, 130, 95, 90, 70),
                    new Pokemon(376, 12, 12, 377, 255, 80, 100, 200, 50, 100, 50),
                    new Pokemon(377, 12, 12, 378, 255, 80, 50, 100, 100, 200, 50),
                    new Pokemon(378, 12, 12, 379, 255, 80, 75, 150, 75, 150, 50),
                    new Pokemon(379, 63, 63, 380, 254, 80, 80, 90, 110, 130, 110),
                    new Pokemon(380, 63, 63, 381, 0, 80, 90, 80, 130, 110, 110),
                    new Pokemon(381, 23, 23, 382, 255, 100, 100, 90, 150, 140, 90),
                    new Pokemon(382, 24, 24, 383, 255, 100, 150, 140, 100, 90, 90),
                    new Pokemon(383, 2, 2, 384, 255, 105, 150, 90, 150, 90, 95),
                    new Pokemon(384, 112, 112, 385, 255, 100, 100, 100, 100, 100, 100),
                    new Pokemon(385, 95, 95, 386, 255, 50, 150, 50, 150, 50, 150),
                    new Pokemon(386, 95, 95, 386, 255, 50, 180, 20, 180, 20, 150),
                    new Pokemon(387, 95, 95, 386, 255, 50, 70, 160, 70, 160, 90),
                    new Pokemon(388, 95, 95, 386, 255, 50, 95, 90, 95, 90, 180),
                    new Pokemon(389, 86, 86, 387, 31, 55, 68, 64, 45, 55, 31),
                    new Pokemon(390, 86, 86, 388, 31, 75, 89, 85, 55, 65, 36),
                    new Pokemon(391, 86, 86, 389, 31, 95, 109, 105, 75, 85, 56),
                    new Pokemon(392, 10, 10, 390, 31, 44, 58, 44, 58, 44, 61),
                    new Pokemon(393, 10, 10, 391, 31, 64, 78, 52, 78, 52, 81),
                    new Pokemon(394, 10, 10, 392, 31, 76, 104, 71, 104, 71, 108),
                    new Pokemon(395, 146, 146, 393, 31, 53, 51, 53, 61, 56, 40),
                    new Pokemon(396, 146, 146, 394, 31, 64, 66, 68, 81, 76, 50),
                    new Pokemon(397, 146, 146, 395, 31, 84, 86, 88, 111, 101, 60),
                    new Pokemon(398, 60, 60, 396, 127, 40, 55, 30, 30, 30, 60),
                    new Pokemon(399, 56, 56, 397, 127, 55, 75, 50, 40, 40, 80),
                    new Pokemon(400, 56, 56, 398, 127, 85, 120, 70, 50, 50, 100),
                    new Pokemon(401, 118, 151, 399, 127, 59, 45, 40, 35, 40, 31),
                    new Pokemon(402, 118, 151, 400, 127, 79, 85, 60, 55, 60, 71),
                    new Pokemon(403, 114, 114, 401, 127, 37, 25, 41, 25, 41, 25),
                    new Pokemon(404, 137, 137, 402, 127, 77, 85, 51, 55, 51, 65),
                    new Pokemon(405, 102, 56, 403, 127, 45, 65, 34, 40, 34, 45),
                    new Pokemon(406, 102, 56, 404, 127, 60, 85, 49, 60, 49, 60),
                    new Pokemon(407, 102, 56, 405, 127, 80, 120, 79, 95, 79, 70),
                    new Pokemon(408, 81, 92, 406, 127, 40, 30, 35, 50, 70, 55),
                    new Pokemon(409, 81, 92, 407, 127, 60, 70, 55, 125, 105, 90),
                    new Pokemon(410, 74, 74, 408, 31, 67, 125, 40, 30, 30, 58),
                    new Pokemon(411, 74, 74, 409, 31, 97, 165, 60, 65, 50, 58),
                    new Pokemon(412, 134, 134, 410, 31, 30, 42, 118, 42, 88, 30),
                    new Pokemon(413, 134, 134, 411, 31, 60, 52, 168, 47, 138, 30),
                    new Pokemon(414, 114, 114, 412, 127, 40, 29, 45, 29, 45, 36),
                    new Pokemon(415, 5, 5, 413, 254, 60, 59, 85, 79, 105, 36),
                    new Pokemon(416, 5, 5, 413, 254, 60, 79, 105, 59, 85, 36),
                    new Pokemon(417, 5, 5, 413, 254, 60, 69, 95, 69, 95, 36),
                    new Pokemon(418, 137, 137, 414, 0, 70, 94, 50, 94, 50, 66),
                    new Pokemon(419, 43, 43, 415, 31, 30, 30, 42, 30, 42, 70),
                    new Pokemon(420, 95, 95, 416, 254, 70, 80, 102, 80, 102, 40),
                    new Pokemon(421, 105, 89, 417, 127, 60, 45, 70, 45, 90, 95),
                    new Pokemon(422, 138, 138, 418, 127, 55, 65, 35, 60, 30, 85),
                    new Pokemon(423, 138, 138, 419, 127, 85, 105, 55, 85, 50, 115),
                    new Pokemon(424, 11, 11, 420, 127, 45, 35, 45, 62, 53, 35),
                    new Pokemon(425, 32, 32, 421, 127, 70, 60, 70, 87, 78, 85),
                    new Pokemon(426, 132, 133, 422, 127, 76, 48, 48, 57, 62, 34),
                    new Pokemon(427, 132, 133, 423, 127, 111, 83, 68, 92, 82, 39),
                    new Pokemon(428, 141, 89, 424, 127, 75, 100, 66, 60, 66, 115),
                    new Pokemon(429, 1, 152, 425, 127, 90, 50, 34, 60, 44, 70),
                    new Pokemon(430, 1, 152, 426, 127, 150, 80, 44, 90, 54, 80),
                    new Pokemon(431, 105, 61, 427, 127, 55, 66, 44, 44, 56, 85),
                    new Pokemon(432, 18, 61, 428, 127, 65, 76, 84, 54, 96, 105),
                    new Pokemon(433, 63, 63, 429, 127, 60, 60, 60, 105, 105, 105),
                    new Pokemon(434, 55, 136, 430, 127, 100, 125, 52, 105, 52, 71),
                    new Pokemon(435, 66, 87, 431, 191, 49, 55, 42, 42, 37, 85),
                    new Pokemon(436, 144, 87, 432, 191, 71, 82, 64, 64, 59, 112),
                    new Pokemon(437, 63, 63, 433, 127, 45, 30, 50, 65, 50, 45),
                    new Pokemon(438, 131, 1, 434, 127, 63, 63, 47, 41, 41, 74),
                    new Pokemon(439, 131, 1, 435, 127, 103, 93, 67, 71, 61, 84),
                    new Pokemon(440, 63, 41, 436, 255, 57, 24, 86, 24, 86, 23),
                    new Pokemon(441, 63, 41, 437, 255, 67, 89, 116, 79, 116, 33),
                    new Pokemon(442, 134, 103, 438, 127, 50, 80, 95, 10, 45, 10),
                    new Pokemon(443, 126, 28, 439, 127, 20, 25, 45, 70, 90, 60),
                    new Pokemon(444, 81, 112, 440, 254, 100, 5, 5, 15, 65, 30),
                    new Pokemon(445, 60, 140, 441, 127, 76, 65, 45, 92, 42, 91),
                    new Pokemon(446, 95, 95, 442, 127, 50, 92, 108, 92, 108, 35),
                    new Pokemon(447, 109, 109, 443, 127, 58, 70, 45, 40, 45, 42),
                    new Pokemon(448, 109, 109, 444, 127, 68, 90, 65, 50, 55, 82),
                    new Pokemon(449, 109, 109, 445, 127, 108, 130, 95, 80, 85, 102),
                    new Pokemon(450, 89, 144, 446, 31, 135, 85, 40, 40, 85, 5),
                    new Pokemon(451, 130, 54, 447, 31, 40, 70, 40, 35, 40, 60),
                    new Pokemon(452, 130, 54, 448, 31, 70, 110, 70, 115, 70, 90),
                    new Pokemon(453, 108, 108, 449, 127, 68, 72, 78, 38, 42, 32),
                    new Pokemon(454, 108, 108, 450, 127, 108, 112, 118, 68, 72, 47),
                    new Pokemon(455, 8, 121, 451, 127, 40, 50, 90, 30, 55, 65),
                    new Pokemon(456, 8, 121, 452, 127, 70, 90, 110, 60, 75, 95),
                    new Pokemon(457, 5, 25, 453, 127, 48, 61, 40, 61, 40, 50),
                    new Pokemon(458, 5, 25, 454, 127, 83, 106, 65, 86, 65, 85),
                    new Pokemon(459, 63, 63, 455, 127, 74, 100, 72, 90, 72, 46),
                    new Pokemon(460, 138, 133, 456, 127, 49, 49, 56, 49, 61, 66),
                    new Pokemon(461, 138, 133, 457, 127, 69, 69, 76, 69, 86, 91),
                    new Pokemon(462, 138, 157, 458, 127, 45, 20, 50, 60, 120, 50),
                    new Pokemon(463, 123, 123, 459, 127, 60, 62, 50, 62, 60, 40),
                    new Pokemon(464, 123, 123, 460, 127, 90, 92, 75, 92, 85, 60),
                    new Pokemon(465, 95, 95, 461, 127, 70, 120, 65, 45, 85, 125),
                    new Pokemon(466, 71, 134, 462, 255, 70, 70, 115, 130, 90, 60),
                    new Pokemon(467, 87, 84, 463, 127, 110, 85, 95, 80, 95, 50),
                    new Pokemon(468, 65, 125, 464, 127, 115, 140, 130, 55, 55, 40),
                    new Pokemon(469, 11, 62, 465, 127, 100, 100, 125, 110, 50, 50),
                    new Pokemon(470, 76, 76, 466, 63, 75, 123, 67, 95, 85, 95),
                    new Pokemon(471, 29, 29, 467, 63, 75, 95, 67, 125, 95, 83),
                    new Pokemon(472, 45, 112, 468, 31, 85, 50, 95, 120, 115, 80),
                    new Pokemon(473, 127, 145, 469, 127, 86, 76, 86, 116, 56, 95),
                    new Pokemon(474, 62, 62, 470, 31, 65, 110, 130, 60, 65, 95),
                    new Pokemon(475, 122, 122, 471, 31, 65, 60, 110, 130, 95, 65),
                    new Pokemon(476, 47, 109, 472, 127, 75, 95, 125, 45, 75, 95),
                    new Pokemon(477, 84, 122, 473, 127, 110, 130, 80, 70, 60, 80),
                    new Pokemon(478, 0, 22, 474, 255, 85, 80, 70, 135, 75, 90),
                    new Pokemon(479, 130, 130, 475, 0, 68, 125, 65, 65, 115, 80),
                    new Pokemon(480, 134, 71, 476, 127, 60, 55, 145, 75, 150, 40),
                    new Pokemon(481, 95, 95, 477, 127, 45, 100, 135, 65, 135, 45),
                    new Pokemon(482, 122, 122, 478, 254, 70, 80, 70, 80, 70, 110),
                    new Pokemon(483, 63, 63, 479, 255, 50, 50, 77, 95, 77, 91),
                    new Pokemon(485, 63, 63, 480, 255, 75, 75, 130, 75, 130, 95),
                    new Pokemon(486, 63, 63, 481, 255, 80, 105, 105, 105, 105, 80),
                    new Pokemon(487, 63, 63, 482, 255, 75, 125, 70, 125, 70, 115),
                    new Pokemon(488, 95, 95, 483, 255, 100, 120, 120, 150, 100, 90),
                    new Pokemon(489, 95, 95, 484, 255, 90, 120, 100, 150, 120, 100),
                    new Pokemon(490, 31, 31, 485, 127, 91, 90, 106, 130, 106, 77),
                    new Pokemon(491, 120, 120, 486, 255, 110, 160, 110, 80, 110, 100),
                    new Pokemon(492, 95, 95, 487, 255, 150, 100, 120, 100, 120, 90),
                    new Pokemon(493, 63, 63, 487, 255, 150, 120, 100, 120, 100, 90),
                    new Pokemon(494, 63, 63, 488, 254, 120, 70, 120, 75, 130, 85),
                    new Pokemon(495, 46, 46, 489, 255, 80, 80, 80, 80, 80, 80),
                    new Pokemon(496, 46, 46, 490, 255, 100, 100, 100, 100, 100, 100),
                    new Pokemon(497, 7, 7, 491, 255, 70, 90, 90, 135, 90, 125),
                    new Pokemon(498, 81, 81, 492, 255, 100, 100, 100, 100, 100, 100),
                    new Pokemon(499, 112, 112, 492, 255, 100, 103, 75, 120, 75, 127),
                    new Pokemon(500, 79, 79, 493, 255, 120, 120, 120, 120, 120, 120),
                    new Pokemon(501, 154, 154, 494, 255, 100, 100, 100, 100, 100, 100),
                    new Pokemon(502, 86, 86, 495, 31, 45, 45, 55, 45, 55, 63),
                    new Pokemon(503, 86, 86, 496, 31, 60, 60, 75, 60, 75, 83),
                    new Pokemon(504, 86, 86, 497, 31, 75, 75, 95, 75, 95, 113),
                    new Pokemon(505, 10, 10, 498, 31, 65, 63, 45, 45, 45, 45),
                    new Pokemon(506, 10, 10, 499, 31, 90, 93, 55, 70, 55, 55),
                    new Pokemon(507, 10, 10, 500, 31, 110, 123, 65, 100, 65, 65),
                    new Pokemon(508, 146, 146, 501, 31, 55, 55, 45, 63, 45, 45),
                    new Pokemon(509, 146, 146, 502, 31, 75, 75, 60, 83, 60, 60),
                    new Pokemon(510, 146, 146, 503, 31, 95, 100, 85, 108, 70, 70),
                    new Pokemon(511, 105, 60, 504, 127, 45, 55, 39, 35, 39, 42),
                    new Pokemon(512, 49, 60, 505, 127, 60, 85, 69, 60, 69, 77),
                    new Pokemon(513, 155, 89, 506, 127, 45, 60, 45, 25, 45, 55),
                    new Pokemon(514, 56, 107, 507, 127, 65, 80, 65, 35, 65, 60),
                    new Pokemon(515, 56, 107, 508, 127, 85, 100, 90, 45, 90, 80),
                    new Pokemon(516, 66, 152, 509, 127, 41, 50, 37, 50, 37, 66),
                    new Pokemon(517, 66, 152, 510, 127, 64, 88, 50, 88, 50, 106),
                    new Pokemon(518, 37, 37, 511, 31, 50, 53, 48, 53, 48, 64),
                    new Pokemon(519, 37, 37, 512, 31, 75, 98, 63, 98, 63, 101),
                    new Pokemon(520, 37, 37, 513, 31, 50, 53, 48, 53, 48, 64),
                    new Pokemon(521, 37, 37, 514, 31, 75, 98, 63, 98, 63, 101),
                    new Pokemon(522, 37, 37, 515, 31, 50, 53, 48, 53, 48, 64),
                    new Pokemon(523, 37, 37, 516, 31, 75, 98, 63, 98, 63, 101),
                    new Pokemon(524, 34, 139, 517, 127, 76, 25, 45, 67, 55, 24),
                    new Pokemon(525, 34, 139, 518, 127, 116, 55, 85, 107, 95, 29),
                    new Pokemon(526, 9, 136, 519, 127, 50, 55, 50, 36, 30, 43),
                    new Pokemon(527, 9, 136, 520, 127, 62, 77, 62, 50, 42, 65),
                    new Pokemon(528, 9, 136, 521, 127, 80, 105, 80, 65, 55, 93),
                    new Pokemon(529, 65, 76, 522, 127, 45, 60, 32, 50, 32, 76),
                    new Pokemon(530, 65, 76, 523, 127, 75, 100, 63, 80, 63, 116),
                    new Pokemon(531, 134, 134, 524, 127, 55, 75, 85, 25, 25, 15),
                    new Pokemon(532, 134, 134, 525, 127, 70, 105, 105, 50, 40, 20),
                    new Pokemon(533, 134, 134, 526, 127, 85, 135, 130, 60, 70, 25),
                    new Pokemon(534, 151, 61, 527, 127, 55, 45, 43, 55, 43, 72),
                    new Pokemon(535, 151, 61, 528, 127, 67, 57, 55, 77, 55, 114),
                    new Pokemon(536, 107, 106, 529, 127, 60, 85, 40, 30, 45, 68),
                    new Pokemon(537, 107, 106, 530, 127, 110, 135, 60, 50, 65, 88),
                    new Pokemon(538, 40, 101, 531, 127, 103, 60, 86, 60, 86, 50),
                    new Pokemon(539, 38, 115, 532, 63, 75, 80, 55, 25, 35, 35),
                    new Pokemon(540, 38, 115, 533, 63, 85, 105, 85, 40, 50, 40),
                    new Pokemon(541, 38, 115, 534, 63, 105, 140, 95, 55, 65, 45),
                    new Pokemon(542, 138, 46, 535, 127, 50, 50, 40, 50, 40, 64),
                    new Pokemon(543, 138, 46, 536, 127, 75, 65, 55, 65, 55, 69),
                    new Pokemon(544, 138, 93, 537, 127, 105, 85, 75, 85, 75, 74),
                    new Pokemon(545, 38, 54, 538, 0, 120, 100, 85, 30, 85, 45),
                    new Pokemon(546, 134, 54, 539, 0, 75, 125, 75, 30, 75, 85),
                    new Pokemon(547, 137, 11, 540, 127, 45, 53, 70, 40, 60, 42),
                    new Pokemon(548, 62, 11, 541, 127, 55, 63, 90, 50, 80, 42),
                    new Pokemon(549, 137, 11, 542, 127, 75, 103, 80, 70, 70, 92),
                    new Pokemon(550, 92, 137, 543, 127, 30, 45, 59, 30, 39, 57),
                    new Pokemon(551, 92, 137, 544, 127, 40, 55, 99, 40, 79, 47),
                    new Pokemon(552, 92, 137, 545, 127, 60, 90, 89, 55, 69, 112),
                    new Pokemon(553, 94, 53, 546, 127, 40, 27, 60, 37, 50, 66),
                    new Pokemon(554, 94, 53, 547, 127, 60, 67, 85, 77, 75, 116),
                    new Pokemon(555, 11, 87, 548, 254, 45, 35, 50, 70, 50, 30),
                    new Pokemon(556, 11, 87, 549, 254, 70, 60, 75, 110, 75, 90),
                    new Pokemon(557, 100, 0, 550, 127, 70, 92, 65, 80, 55, 98),
                    new Pokemon(558, 56, 77, 551, 127, 50, 72, 35, 35, 35, 65),
                    new Pokemon(559, 56, 77, 552, 127, 60, 82, 45, 45, 45, 74),
                    new Pokemon(560, 56, 77, 553, 127, 95, 117, 70, 65, 70, 92),
                    new Pokemon(561, 45, 45, 554, 127, 70, 90, 45, 15, 45, 50),
                    new Pokemon(562, 115, 115, 555, 127, 105, 140, 55, 30, 55, 95),
                    new Pokemon(563, 157, 11, 556, 127, 75, 86, 67, 106, 67, 60),
                    new Pokemon(564, 134, 116, 557, 127, 50, 65, 85, 35, 35, 55),
                    new Pokemon(565, 134, 116, 558, 127, 70, 95, 125, 65, 75, 45),
                    new Pokemon(566, 114, 77, 559, 127, 50, 75, 70, 35, 70, 48),
                    new Pokemon(567, 114, 77, 560, 127, 65, 90, 115, 45, 115, 58),
                    new Pokemon(568, 162, 69, 561, 127, 72, 58, 80, 103, 80, 97),
                    new Pokemon(569, 80, 80, 562, 127, 38, 30, 85, 55, 65, 30),
                    new Pokemon(570, 80, 80, 563, 127, 58, 50, 145, 95, 105, 30),
                    new Pokemon(571, 125, 134, 564, 31, 54, 78, 103, 53, 45, 22),
                    new Pokemon(572, 125, 134, 565, 31, 74, 108, 133, 83, 65, 32),
                    new Pokemon(573, 20, 20, 566, 31, 55, 112, 45, 74, 45, 70),
                    new Pokemon(574, 20, 20, 567, 31, 75, 140, 65, 112, 65, 110),
                    new Pokemon(575, 131, 132, 568, 127, 50, 50, 62, 40, 62, 65),
                    new Pokemon(576, 131, 159, 569, 127, 80, 95, 82, 60, 82, 75),
                    new Pokemon(577, 50, 50, 570, 31, 40, 65, 40, 80, 40, 65),
                    new Pokemon(578, 50, 50, 571, 31, 60, 105, 60, 120, 60, 105),
                    new Pokemon(579, 18, 141, 572, 127, 55, 50, 40, 40, 40, 75),
                    new Pokemon(580, 18, 141, 573, 127, 75, 95, 60, 65, 60, 115),
                    new Pokemon(581, 36, 36, 574, 191, 45, 30, 50, 55, 65, 45),
                    new Pokemon(582, 36, 36, 575, 191, 60, 45, 70, 75, 85, 55),
                    new Pokemon(583, 36, 36, 576, 191, 70, 55, 95, 95, 110, 65),
                    new Pokemon(584, 85, 69, 577, 127, 45, 30, 40, 105, 50, 20),
                    new Pokemon(585, 85, 69, 578, 127, 65, 40, 50, 125, 60, 30),
                    new Pokemon(586, 85, 69, 579, 127, 110, 65, 75, 125, 85, 30),
                    new Pokemon(587, 60, 9, 580, 127, 62, 44, 50, 44, 50, 55),
                    new Pokemon(588, 60, 9, 581, 127, 75, 87, 63, 87, 63, 98),
                    new Pokemon(589, 48, 48, 582, 127, 36, 50, 50, 65, 60, 44),
                    new Pokemon(590, 48, 48, 583, 127, 51, 65, 65, 80, 75, 59),
                    new Pokemon(591, 48, 48, 584, 127, 71, 95, 85, 110, 95, 79),
                    new Pokemon(592, 11, 110, 585, 127, 60, 60, 50, 40, 50, 75),
                    new Pokemon(593, 11, 110, 586, 127, 80, 100, 70, 60, 70, 95),
                    new Pokemon(594, 129, 129, 587, 127, 55, 75, 60, 75, 60, 103),
                    new Pokemon(595, 137, 114, 588, 127, 50, 75, 45, 40, 45, 60),
                    new Pokemon(596, 137, 116, 589, 127, 70, 135, 105, 60, 105, 20),
                    new Pokemon(597, 27, 27, 590, 127, 69, 55, 45, 55, 55, 15),
                    new Pokemon(598, 27, 27, 591, 127, 114, 85, 70, 85, 80, 30),
                    new Pokemon(599, 157, 17, 592, 127, 55, 40, 50, 65, 85, 40),
                    new Pokemon(600, 157, 17, 593, 127, 100, 60, 70, 85, 105, 60),
                    new Pokemon(601, 40, 46, 594, 127, 165, 75, 80, 40, 45, 65),
                    new Pokemon(602, 15, 153, 595, 127, 50, 47, 50, 57, 50, 65),
                    new Pokemon(603, 15, 153, 596, 127, 70, 77, 60, 97, 60, 108),
                    new Pokemon(604, 57, 57, 597, 127, 44, 50, 91, 24, 86, 10),
                    new Pokemon(605, 57, 57, 598, 127, 74, 94, 131, 54, 116, 20),
                    new Pokemon(606, 90, 73, 599, 255, 40, 55, 70, 45, 60, 30),
                    new Pokemon(607, 90, 73, 600, 255, 60, 80, 95, 70, 85, 50),
                    new Pokemon(608, 90, 73, 601, 255, 60, 100, 115, 70, 85, 90),
                    new Pokemon(609, 63, 63, 602, 127, 35, 55, 40, 45, 40, 60),
                    new Pokemon(610, 63, 63, 603, 127, 65, 85, 70, 75, 70, 40),
                    new Pokemon(611, 63, 63, 604, 127, 85, 115, 80, 105, 80, 50),
                    new Pokemon(612, 142, 139, 605, 127, 55, 55, 55, 85, 55, 30),
                    new Pokemon(613, 142, 139, 606, 127, 75, 75, 75, 125, 95, 40),
                    new Pokemon(614, 31, 29, 607, 127, 50, 30, 55, 65, 55, 20),
                    new Pokemon(615, 31, 29, 608, 127, 60, 40, 60, 95, 60, 55),
                    new Pokemon(616, 31, 29, 609, 127, 60, 55, 90, 145, 90, 80),
                    new Pokemon(617, 102, 74, 610, 127, 46, 87, 60, 30, 40, 57),
                    new Pokemon(618, 102, 74, 611, 127, 66, 117, 70, 40, 50, 67),
                    new Pokemon(619, 102, 74, 612, 127, 76, 147, 90, 60, 70, 97),
                    new Pokemon(620, 122, 122, 613, 127, 55, 70, 40, 60, 40, 40),
                    new Pokemon(621, 122, 122, 614, 127, 95, 110, 80, 70, 80, 50),
                    new Pokemon(622, 63, 63, 615, 255, 70, 50, 30, 95, 135, 105),
                    new Pokemon(623, 46, 116, 616, 127, 50, 40, 85, 40, 65, 25),
                    new Pokemon(624, 46, 132, 617, 127, 80, 70, 40, 100, 60, 145),
                    new Pokemon(625, 129, 66, 618, 127, 109, 66, 84, 81, 99, 32),
                    new Pokemon(626, 54, 101, 619, 127, 45, 85, 50, 55, 50, 65),
                    new Pokemon(627, 54, 101, 620, 127, 65, 125, 60, 95, 60, 105),
                    new Pokemon(628, 104, 115, 621, 127, 77, 120, 90, 60, 90, 48),
                    new Pokemon(629, 58, 61, 622, 255, 59, 74, 50, 35, 50, 35),
                    new Pokemon(630, 58, 61, 623, 255, 89, 124, 80, 55, 80, 55),
                    new Pokemon(631, 21, 54, 624, 127, 45, 85, 70, 40, 40, 60),
                    new Pokemon(632, 21, 54, 625, 127, 65, 125, 100, 60, 70, 70),
                    new Pokemon(633, 100, 110, 626, 127, 95, 110, 95, 40, 95, 55),
                    new Pokemon(634, 60, 115, 627, 0, 70, 83, 50, 37, 50, 60),
                    new Pokemon(635, 60, 115, 628, 0, 100, 123, 75, 57, 75, 80),
                    new Pokemon(636, 9, 85, 629, 254, 70, 55, 75, 45, 65, 60),
                    new Pokemon(637, 9, 85, 630, 254, 110, 65, 105, 55, 95, 80),
                    new Pokemon(638, 37, 31, 631, 127, 85, 97, 66, 105, 66, 65),
                    new Pokemon(639, 137, 45, 632, 127, 58, 109, 112, 48, 48, 109),
                    new Pokemon(640, 45, 45, 633, 127, 52, 65, 50, 45, 50, 38),
                    new Pokemon(641, 45, 45, 634, 127, 72, 85, 70, 65, 70, 58),
                    new Pokemon(642, 63, 63, 635, 127, 92, 105, 90, 125, 90, 98),
                    new Pokemon(643, 29, 29, 636, 127, 55, 85, 55, 50, 55, 60),
                    new Pokemon(644, 29, 29, 637, 127, 85, 60, 65, 135, 105, 100),
                    new Pokemon(645, 59, 59, 638, 255, 91, 90, 129, 90, 72, 108),
                    new Pokemon(646, 59, 59, 639, 255, 91, 129, 90, 72, 90, 108),
                    new Pokemon(647, 59, 59, 640, 255, 91, 90, 72, 90, 129, 108),
                    new Pokemon(648, 94, 94, 641, 0, 79, 115, 70, 125, 80, 111),
                    new Pokemon(649, 94, 94, 642, 0, 79, 115, 70, 125, 80, 111),
                    new Pokemon(650, 150, 150, 643, 255, 100, 120, 100, 150, 120, 90),
                    new Pokemon(651, 143, 143, 644, 255, 100, 150, 120, 120, 100, 90),
                    new Pokemon(652, 106, 106, 645, 0, 89, 125, 90, 115, 80, 101),
                    new Pokemon(653, 95, 95, 646, 255, 125, 130, 90, 130, 90, 95),
                    new Pokemon(654, 59, 59, 647, 255, 91, 72, 90, 129, 90, 108),
                    new Pokemon(655, 112, 112, 648, 255, 100, 77, 77, 128, 128, 90),
                    new Pokemon(656, 22, 22, 649, 255, 71, 120, 95, 120, 95, 99)
                };


            return pokemonCollection;
        }

        public static string pokemonName(uint index)
        {
            switch ((Language) Settings.Default.Language)
            {
                case (Language.Japanese):
                    return Translations.pokemonNamesJPN[index];
                case (Language.German):
                    return Translations.pokemonNamesGER[index];
                case (Language.French):
                    return Translations.pokemonNamesFRA[index];
                case (Language.Korean):
                    return Translations.pokemonNamesKOR[index];
                default:
                    return Translations.pokemonNamesENG[index];
            }
        }

        public static string abilityName(uint ability)
        {
            switch ((Language) Settings.Default.Language)
            {
                case (Language.Japanese):
                    return Translations.abilityNameJPN[ability];
                case (Language.German):
                    return Translations.abilityNameGER[ability];
                case (Language.Spanish):
                    return Translations.abilityNameSPA[ability];
                case (Language.Italian):
                    return Translations.abilityNameITA[ability];
                case (Language.French):
                    return Translations.abilityNameFRA[ability];
                case (Language.Korean):
                    return Translations.abilityNameKOR[ability];
                default:
                    return Translations.abilityNameENG[ability];
            }
        }
    }
}